package com.yundasys.lab08jvm.stringtable;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author jiangta
 * @version 1.0
 * @date 2021/4/26 2:29 下午
 */
public class StringTableTest {

    public static void main(String[] args) {
//        String ab = new String("a") + new String("b");  //在堆中创建"a","b","ab";
//
//        //String ab2 = ab.intern();//先判断StringTable中是否有"ab"，如果有直接返回StringTable中的地址，如果没有则将该对象放入StringTable中。
//
//        String ab3 = "ab";//因为StringTable中有"ab",此时直接返回StringTable中地址。
//
//        //System.out.println( ab2 == ab3 );//true
//
//        System.out.println( ab == ab3 );//true       此时ab已经被放入StringTable中，所以地址相同
//
//        System.out.println(File.separator);
//        System.out.println(File.pathSeparator);
//
//        String s3 = new String("1") + new String("1");
//        String s4 = "11";
//        s3.intern();
//        System.out.println(s3 == s4);

//        String s = new String("a") + new String("b");
//        String s2 = s.intern();
//        System.out.println(s2 == "ab");
//        System.out.println(s == "ab");

        //String s1 = new String("a")+new String("b");
//        String s1 = new String("ab");
//        s1.intern();
//        String s2 = "ab";
//        System.out.println(s1 ==s2);

//        String x = "ab";
//        String s1 = new String("a")+new String("b");
//        s1.intern();
//        String s2 = "ab";
//        System.out.println(s2==x);
//        System.out.println(s1 ==x);

        String sql = "select * from a where id = #{id}";
        Pattern pattern = Pattern.compile("(#\\{(.*?)})");
        Matcher matcher = pattern.matcher(sql);
        for (int i = 1; matcher.find(); i++) {
            String g1 = matcher.group(1);
            String g2 = matcher.group(2);
            System.out.println(g1 + " " + g2);
            sql = sql.replace(g1, "?");
            System.out.println(sql);
        }

    }
}
